Loading...
Loading...
Loading...

目录


66.加一

计算机编程 发布于:2022/3/25/16:07 942 vk python 数据结构与算法 最近编辑于2 年,9 月前 预计阅读时长:1min

本题来自力扣66. 加一。难度:简单

可以把列表里的数提出来加完1转换成字符串,遍历一遍再转成整型放回去,但是这样就失去了题的本意,毫无意思

 

比较恰当的解法是,小学加法那种,满9进一

比如:[1,2,9,9] ,只需要把2后面的9变成0,直到遇到不是9的数字2,然后加一即可,[1,2,3]这种没有9的直接加一

要是全是9只需要再原来的基础上最高位补一个1即可[9,9]我们上面的思路是把9全部变成0了这时候列表变成了[0,0]

这种情况只需把1放入最高位[1,0,0]

 

    def plusOne(self, digits: List[int]) -> List[int]:
        for i in range(len(digits)-1,-1,-1):
            if digits[i]==9:
                digits[i]=0
            else:
                digits[i]+=1
                return digits
        return [1]+digits

range用法(开始,结束,步长)

这段代码里,表示以digits的长度-1倒着遍历一遍

单词数:38字符数:530

共有0条评论